package com.leador.map.location;

import android.util.SparseArray;

/**
 *
 */
public class Const {
    /**
     * 服务器端接口版本
     */
    public static final String serverVersion = "1.0";
    /**
     * 插件版本
     */
    public static final String strVer = "1.0.0.20160414";
    /**
     * DEBUG信息打印在LOGCAT中的TAG标识，仅当DEBUG信息开关设置为TRUE时有效
     */
    public static final String strDebugTag = "leadorlocapi";
    /**
     * DEBUG信息是否存放
     */
    public static final boolean bSaveDebug = true;
    /**
     * 存放DEBUG信息的文件名
     */
    public static final String strDebugFile = "loc-debug.txt";
    /**
     * 定位服务字符编码
     */
    public static final String locCharacterEncode = "GBK";
    /**
     * LocationService DES密钥，用于对请求和返回数据进行加解密
     */
    public static final String strKey = "openmap007spas$#@!888888";
    /**
     * 联网超时时间（毫秒）
     */
    public static final int iTimeout = 10000;
    /**
     * 上传成果日志联网超时时间（毫秒）
     */
    public static final int iUpTimeout = 60000;
    /**
     * 默认基站信号（GSM/CDMA/WCDMA）强度（DBM）
     */
    public static final int iDefCellSig = -113;
    /**
     * GPS定位位置更新的最小时间间隔（毫秒）
     */
    public static final long lMinGps = 400l;
    /**
     * GPS定位位置更新的最小距离间隔（米）
     */
    public static final long lMinGpsDist = 0l;
    /**
     * GPS定位位置更新的最大时间间隔（毫秒）
     */
    public static final long lMaxGps = 20000l;
    /**
     * GPSEVENT处理的最小时间间隔（毫秒）
     */
    public static final long lMinGpsEvent = 3000l;
    /**
     * APGS开关（需手机支持）
     */
    public static final boolean bAgps = true;
    /**
     * 系统网络定位开关（需手机支持）
     */
    public static final boolean bNetLoc = true;
    /**
     * 启动系统网络定位需等待的定位次数（需手机支持，仅当系统网络定位开关设置为TRUE时有效）
     */
    public static final int intNetWaitNum = 10;
    /**
     * 系统网络定位位置更新的最小时间间隔（毫秒）
     */
    public static final long lMinNet = 1000l;
    /**
     * 系统网络定位位置更新的最小距离间隔（米）
     */
    public static final long lMinNetDis = 10l;
    /**
     * 等待系统网络定位位置的时间（毫秒）
     */
    public static final long lWaitNet = 2500l;
    /**
     * 首次定位等待WIFI结果的时间（毫秒）
     */
    public static final long lWaitWifi = 2000l;
    /**
     * 两次定位间的最小时间间隔（毫秒）
     */
    public static final long lMinReq = 100l;
    /**
     * 两次定位间的最大时间间隔（毫秒）
     */
    public static final long lMaxReq = 300000l;
    /**
     * 两次定位间的最小位置变动（米）
     */
    public static final int iMinLoc = 20;
    /**
     * 基站切换的最小时间间隔（毫秒）
     */
    public static final long lMinCellChange = 8000l;
    /**
     * WIFI强制刷新的最小时间间隔（毫秒）
     */
    public static final long lMinWifiUpdate = 20000l;
    /**
     * CELLLOCATION强制刷新的最小时间间隔（毫秒）
     */
    public static final long lMinCellUpdate = 60000l;
    /**
     * 缓存的位置记录数量上限（个）
     */
    public static final int iMaxCache = 180;
    /**
     * 缓存的位置记录时间上限（毫秒）
     */
    public static final long lMaxCache = 900000l;
    /**
     * 采集的临时/成果日志的存放目录，优先存储于外存中
     */
    public static final String strLogDir = "leadorlocapi";
    /**
     * 采集的DAT格式临时日志的文件名
     */
    public static final String strTmpLog = "tmp.dat";
    /**
     * 采集的ZIP格式成果日志的文件名，多个ZIP文件以数字区别，例如new1.zip，new2.zip...
     */
    public static final String strZipLog = "new";
    /**
     * 采集的每条日志所包含的WIFI个数上限，用于减少采集的数据量
     */
    public static final int iMaxWifiInOneLog = 5;
    /**
     * 采集的DAT格式临时日志文件大小上限（KB），达到这一上限后， 临时文件即被压缩为ZIP格式成果文件存放，并删除临时文件
     */
    public static final int iMaxTmpLogSize = 10;
    /**
     * 采集的ZIP格式成果日志文件上限，达到这一上限后，直到被成功上报前，将不再采集新数据
     */
    public static final int iMaxZipLog = 50;
    /**
     * 采集的最小时间间隔（毫秒）
     */
    public static final long lMinLog = 5000l;
    /**
     * 采集上传地址
     */
    public static final String strUp = "http://xxx/collection/writedata?ver=xxx";
    /**
     * 采集上传的最小时间间隔（毫秒）
     */
    public static final long lMinUp = 2000l;
    /**
     * 定位请求所包含的WIFI个数上限，用于减少请求和采集的数据量
     */
    public static final int iMaxWifiInReq = 30;
    /**
     * 定位请求所包含的WIFI的信号强度等级下限（？/20）
     */
    public static final int iMinWifiLev = 1;
    /**
     * 定位请求间的相似度下限，高于这一数值的定位请求将视为相同定位
     */
    public static final float fMinCacheSimi = 0.85f;
    /**
     * 默认手机IMSI值
     */
    public static final String strDefImsi = "888888888888888";
    /**
     * 默认手机IMEI值
     */
    public static final String strDefImei = "888888888888888";
    /**
     * 默认手机MAC值
     */
    public static final String strDefMac = "00:00:00:00:00:00";
    /**
     * 手机默认基站类型
     */
    public static final int iDefCellType = 9;
    /**
     * 手机GSM基站类型
     */
    public static final int iGsmType = 1;
    /**
     * 手机CDMA基站类型
     */
    public static final int iCdmaType = 2;
    /**
     * 手机网络类型映射表
     */
    public static final SparseArray<String> saPhoneNets = new SparseArray<String>();
    /**
     * DEBUG信息开关，正式发布时，需要设置为FALSE
     */
    public static boolean bDebug = false;
    /**
     * 手机IMEI值
     */
    public static String strImei = null;
    /**
     * 手机IMSI值
     */
    public static String strImsi = null;
    /**
     * 手机号
     */
    public static String strPhnum = null;
    /**
     * 定位服务SRC
     */
    public static String strSrc = "";
    /**
     * 定位服务LICENSE
     */
    public static String strLicense = "";
    /**
     * 定位服务CLIENTID
     */
    public static String strClientId = "";
    /**
     * GPS开关（需手机支持）
     */
    public static boolean bUseGps = false;
    /**
     * 缓存开关
     */
    public static boolean bUseCache = true;
    /**
     * 日志采集开关
     */
    public static boolean bSaveLog = true;
    /**
     * 采集上传开关
     */
    public static boolean bUp = true;

    static {
        saPhoneNets.append(0, "UNKNOWN");
        saPhoneNets.append(1, "GPRS");
        saPhoneNets.append(2, "EDGE");
        saPhoneNets.append(3, "UMTS");
        saPhoneNets.append(4, "CDMA");
        saPhoneNets.append(5, "EVDO_0");
        saPhoneNets.append(6, "EVDO_A");
        saPhoneNets.append(7, "1xRTT");
        saPhoneNets.append(8, "HSDPA");
        saPhoneNets.append(9, "HSUPA");
        saPhoneNets.append(10, "HSPA");
        saPhoneNets.append(11, "IDEN");
        saPhoneNets.append(12, "EVDO_B");
        saPhoneNets.append(13, "LTE");
        saPhoneNets.append(14, "EHRPD");
        saPhoneNets.append(15, "HSPAP");
    }

    private Const() {
        //
    }
}